home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / cpu / i8085 / i8085.h < prev    next >
C/C++ Source or Header  |  2000-05-18  |  4KB  |  103 lines

  1. #ifndef I8085_H
  2. #define I8085_H
  3.  
  4. #include "osd_cpu.h"
  5.  
  6. enum {
  7.     I8085_PC=1, I8085_SP, I8085_AF ,I8085_BC, I8085_DE, I8085_HL,
  8.     I8085_HALT, I8085_IM, I8085_IREQ, I8085_ISRV, I8085_VECTOR,
  9.     I8085_TRAP_STATE, I8085_INTR_STATE,
  10.     I8085_RST55_STATE, I8085_RST65_STATE, I8085_RST75_STATE};
  11.  
  12. #define I8085_INTR_LINE     0
  13. #define I8085_RST55_LINE    1
  14. #define I8085_RST65_LINE    2
  15. #define I8085_RST75_LINE    3
  16.  
  17. #define I8085_NONE      0
  18. #define I8085_TRAP      0x01
  19. #define I8085_RST55     0x02
  20. #define I8085_RST65     0x04
  21. #define I8085_RST75     0x08
  22. #define I8085_SID       0x10
  23. #define I8085_INTR      0xff
  24.  
  25. extern int i8085_ICount;
  26.  
  27. extern void i8085_set_SID(int state);
  28. extern void i8085_set_SOD_callback(void (*callback)(int state));
  29. extern void i8085_reset(void *param);
  30. extern void i8085_exit(void);
  31. extern int i8085_execute(int cycles);
  32. extern unsigned i8085_get_context(void *dst);
  33. extern void i8085_set_context(void *src);
  34. extern unsigned i8085_get_pc(void);
  35. extern void i8085_set_pc(unsigned val);
  36. extern unsigned i8085_get_sp(void);
  37. extern void i8085_set_sp(unsigned val);
  38. extern unsigned i8085_get_reg(int regnum);
  39. extern void i8085_set_reg(int regnum, unsigned val);
  40. extern void i8085_set_nmi_line(int state);
  41. extern void i8085_set_irq_line(int irqline, int state);
  42. extern void i8085_set_irq_callback(int (*callback)(int irqline));
  43. extern void i8085_state_save(void *file);
  44. extern void i8085_state_load(void *file);
  45. extern const char *i8085_info(void *context, int regnum);
  46. extern unsigned i8085_dasm(char *buffer, unsigned pc);
  47.  
  48. /**************************************************************************
  49.  * I8080 section
  50.  **************************************************************************/
  51. #if (HAS_8080)
  52. #define I8080_PC                I8085_PC
  53. #define I8080_SP                I8085_SP
  54. #define I8080_BC                I8085_BC
  55. #define I8080_DE                I8085_DE
  56. #define I8080_HL                I8085_HL
  57. #define I8080_AF                I8085_AF
  58. #define I8080_HALT                I8085_HALT
  59. #define I8080_IREQ                I8085_IREQ
  60. #define I8080_ISRV                I8085_ISRV
  61. #define I8080_VECTOR            I8085_VECTOR
  62. #define I8080_TRAP_STATE        I8085_TRAP_STATE
  63. #define I8080_INTR_STATE        I8085_INTR_STATE
  64.  
  65. #define I8080_REG_LAYOUT \
  66. {    CPU_8080, \
  67.     I8080_AF,I8080_BC,I8080_DE,I8080_HL,I8080_SP,I8080_PC, DBG_ROW, \
  68.     I8080_HALT,I8080_IREQ,I8080_ISRV,I8080_VECTOR, I8080_TRAP_STATE,I8080_INTR_STATE, \
  69.     DBG_END }
  70.  
  71. #define I8080_INTR_LINE         I8085_INTR_LINE
  72. #define I8080_TRAP                I8085_TRAP
  73. #define I8080_INTR                I8085_INTR
  74. #define I8080_TRAP                I8085_TRAP
  75. #define I8080_NONE                I8085_NONE
  76.  
  77. #define     i8080_ICount            i8085_ICount
  78. extern void i8080_reset(void *param);
  79. extern void i8080_exit(void);
  80. extern int i8080_execute(int cycles);
  81. extern unsigned i8080_get_context(void *dst);
  82. extern void i8080_set_context(void *src);
  83. extern unsigned i8080_get_pc(void);
  84. extern void i8080_set_pc(unsigned val);
  85. extern unsigned i8080_get_sp(void);
  86. extern void i8080_set_sp(unsigned val);
  87. extern unsigned i8080_get_reg(int regnum);
  88. extern void i8080_set_reg(int regnum, unsigned val);
  89. extern void i8080_set_nmi_line(int state);
  90. extern void i8080_set_irq_line(int irqline, int state);
  91. extern void i8080_set_irq_callback(int (*callback)(int irqline));
  92. extern void i8080_state_save(void *file);
  93. extern void i8080_state_load(void *file);
  94. extern const char *i8080_info(void *context, int regnum);
  95. extern unsigned i8080_dasm(char *buffer, unsigned pc);
  96. #endif
  97.  
  98. #ifdef    MAME_DEBUG
  99. extern unsigned Dasm8085(char *buffer, unsigned pc);
  100. #endif
  101.  
  102. #endif
  103.